package com.xuetang9.t9.hotel.services;

import com.xuetang9.t9.hotel.beans.DiningTable;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @ProjectName: MyHotelProject
 * @Package: com.xuetang9.t9.hotel.service
 * @ClassName: IDiningTableService
 * @Author: ChinaHp
 * @Description: 餐桌服务层接口
 * @Date: 2020/2/24 15:57
 * @Version: 1.0
 */

public interface IDiningTableService {
    /**
     * 添加
     * @param diningTable
     * @return
     */
    boolean add(DiningTable diningTable);

    /**
     * 通过订单编号获取餐桌
     * @param tableNum
     * @return
     */
    DiningTable toUp(int tableNum);

    /**
     * 修改
     * @param diningTable
     * @return
     */
    boolean update(DiningTable diningTable);

    /**
     * 删除
     * @param tableNum
     * @return
     */
    boolean del(int tableNum);

    /**
     * 删除
     * @param typeId
     * @return
     */
    boolean delByTypeId(int typeId);

    /**
     * 数据条数
     * @return
     */
    int dataCount();

    /**
     * 通过类型Id获取餐桌
     * @param typeId
     * @return
     */
    List<DiningTable> queryById(int typeId);

    /**
     *获取所有餐桌
     * @return
     */
    List<DiningTable> queryAll();

    /**
     *获取当页数据
     * @param currentPage
     * @return
     */
    List<DiningTable> queryPageData(int currentPage,int size);

    /**
     * 获取总页数
     * @param size
     * @return
     */
    long pageSize(int size);


    /**
     * 换桌
     * @param source
     * @param destination
     * @return
     */
    boolean changeDiningTable(Integer source, Integer destination);

    /**
     * 执行清桌操作
     * @param diningTable
     * @return
     */
    boolean cleanTable(Integer tableId);

    /**
     * 获取最大ID
     * @return
     */
    long maxId();

    List<DiningTable> selectByAllByType();
}
